Skip to content

Git 本地开发分支常见操作指南 ​

场景说明 ​

假设:

  • huabei:团队开发分支
  • dev:自己本地开发分支

日常开发中,经常会遇到:

  • 别人往 huabei 提交了代码
  • 自己在 dev 上开发
  • 需要同步最新代码
  • 不想丢失自己的修改
  • 不想产生多余 merge commit

一、查看当前分支 ​

bash
git branch

当前分支前面会有 *

例如:

bash
* dev
  huabei

二、同步远程最新代码 ​

先更新团队分支:

bash
git checkout huabei
git pull

这样本地 huabei 就是最新的。


三、把 huabei 最新代码同步到 dev ​


方式 1:merge(最稳) ​

bash
git checkout dev
git merge huabei

特点 ​

  • 保留双方提交历史
  • 安全
  • 容易理解
  • 会产生 merge commit

提交记录效果 ​

text
A---B---C
     \    \
      D----E----M

M 就是 merge commit。


方式 2:rebase(推荐个人开发分支) ​

bash
git checkout dev
git rebase huabei

特点 ​

  • 提交历史干净
  • 不会产生 merge commit
  • 更适合个人开发分支

提交记录效果 ​

text
A---B---C---D'---E'

看起来像:

你的开发是基于最新代码进行的。


四、merge 和 rebase 区别 ​

对比mergerebase
是否产生 merge commit会不会
是否改写历史不会会
是否安全高中
提交记录分叉线性
推荐场景团队协作个人开发

五、如何查看是否同步成功 ​


方法 1:查看差异(推荐) ​

查看 dev 是否已经包含 huabei:

bash
git diff dev..huabei

结果 ​

无输出:

text
说明 dev 已同步 huabei

有输出:

text
说明还有代码没同步

方法 2:查看提交图 ​

bash
git log --oneline --graph --all

可以看到:

  • merge 记录
  • rebase 后的线性记录

方法 3:查看某个 commit 是否存在 ​

先看 huabei 最新提交:

bash
git log huabei --oneline -1

例如:

text
abc123 修复首页bug

查看 dev 是否包含:

bash
git branch --contains abc123

输出包含:

bash
dev

说明已经同步。


六、开发中最常见的问题 ​


1. merge 后出现冲突 ​

Git 提示:

bash
CONFLICT (content)

查看冲突文件:

bash
git status

文件会出现:

js
<<<<<<< HEAD
自己的代码
=======
别人的代码
>>>>>>> huabei

手动修改后:

bash
git add .
git commit

完成冲突处理。


2. rebase 冲突处理 ​

解决冲突后:

bash
git add .
git rebase --continue

取消 rebase:

bash
git rebase --abort

3. 本地代码未提交,不敢同步 ​

先临时保存:

bash
git stash

同步完成后恢复:

bash
git stash pop

七、推荐开发流程(最佳实践) ​


日常开发推荐 ​

1. 更新团队分支 ​

bash
git checkout huabei
git pull

2. 切回自己开发分支 ​

bash
git checkout dev

3. 同步最新代码(推荐 rebase) ​

bash
git rebase huabei

4. 开始开发 ​

bash
git add .
git commit -m "功能开发"

八、不推荐的危险操作 ​


reset --hard ​

bash
git reset --hard huabei

会:

  • 覆盖当前分支
  • 丢失未保存代码

除非明确知道后果,否则不要使用。


九、推荐命令速查 ​

更新团队分支 ​

bash
git checkout huabei
git pull

merge 同步 ​

bash
git checkout dev
git merge huabei

rebase 同步(推荐) ​

bash
git checkout dev
git rebase huabei

查看是否同步成功 ​

bash
git diff dev..huabei

查看提交图 ​

bash
git log --oneline --graph --all

暂存当前修改 ​

bash
git stash

恢复:

bash
git stash pop
最近更新